Foto tomada por Pablo Picardo
Este post presenta datos sobre el mercado inmobiliario montevideano, específicamente sobre la distribución de precios de las de las ofertas publicadas en el sitio mercadolibre.com.uy. Las visualizaciones fueron hechas básicamente los paquetes ggplot2, Leaflet y plotly.
Los datos forman parte de mi tesis de Maestría en Economía (FCEA - UdelaR) sobre predicción de precios de la vivienda y del documento de trabajo del Banco Central del Uruguay al que puede acceder aquí. Mis tutores fueron Fernando Borraz (BCU) y Natalia da Silva (IESTA).
Para la recopilación de datos web se utilizó un programa que accede a la API del sitio, para ello conté con la excepcional ayuda de Bruno García. Para el manejo de datos con el software R, conté con el invaluable apoyo de Joselina Davyt. Los datos de ofertas han sido puestos a disposición en Kaggle.
El código y texto de este post de fue realizado con Rstudio Version 1.2.5042 y R 3.6.3. Para reproducirlo queda disponible en el github de unaimagen.uy. Este código es simple y fácilmente mejorable, te invito a hacerlo mejor en un kernel en Kaggle.
Luego de una limpieza preliminar de los datos tenemos 690.000 observaciones que refieren a aproximadamente 160.000 publicaciones únicas de casas y apartamentos de Montevideo, distribuidas a lo largo del período febrero 2018 - diciembre 2019.
Al comenzar el proyecto, en 2018 habían poco más de 20.000 publicaciones que fueron aumentando a lo largo del tiempo hasta llegar a poco menos de 40.000. ¿Se trata de un aumento del canal de ofertas online, o aumento de ofertas en general?
El tiempo en el mercado se refiere al tiempo en que la publicación está activa en el sitio. Que deje de estar activa no significa necesariamente que se haya vendido (simplemente se dió de baja la publicación o venció su plazo).De todas formas puede ser un indicador interesante de ver. La mediana del indicador simple de tiempo en el mercado es 130 días (poco más de 4 meses).
Tomamos solo publicaciones de abril de 2019 y que hayan estado publicadas como máximo 300 días.
Restringimos a observaciones con precio menor o igual a USD 1.000.000.
Hecho estilizado, las casas son más caras que los apartamentos y tienen una variabilidad mayor si consideramos el rango inter-cuartílico. En el caso de los apartamentos, tienen una cola larga de distribución. Los precios son significativamente más altos de los que se observan en las transacciones.
Nota: luego de abril de 2019, algunas variables no pudieron ser descargadas del sitio, por ejemplo la latitud y longitud de las publicaciones. Si alguien se anima, puede agarrar los datos indicados en la dirección y tratar de generar las coordenadas: hacer geocoding.
Restringimos a observaciones con precio del metro cuadrado menor o igual a USD 10.000.
Si consideramos el precio por metro cuadrado, los apartamentos son más caros (en media y mediana) que las casas.
Seleccionamos algunos barrios. Las diferencias entre barrios son relevantes, principalmente para apartamentos.
Veamos dónde se ubican las propiedades más caras y más baratas en el mapa, según tipo de propiedad y considerando el precio del metro cuadrado. Para la visualización separamos en quintiles. Los colores rojos más intensos refieren a los precios más altos.
Nota : Al considerar metro cuadrado podemos perder muchas observaciones ya que la superficie construida indicada en el sitio puede ser errónea o incoherente.
Considerando el precio del metro cuadrado observamos el hecho estilizado de que las propidades de mayor valor se encuentran en la costa este. Hay algunas excepciones como la zona del Prado y la zona de Carrasco Norte/Paso Carrasco. La pregunta que surge es si es posible estable establecer zonas con variables de ubicación (coordenadas) que agrupen precios similares. Esto es interesante para ver las divisiones que pueden existir en la ciudad.
Lo que se presenta es un ejemplo de árbol de regresión y clasificación (CART por sus siglas en inglés), un método de aprendizaje estadístico introducido por Breiman et al. (1984). El principio general de este método es particionar recursivamente el espacio de variables explicativas \(X_i\) de forma binaria y así determinar sub-particiones óptimas para la predicción de una variable objetivo. Este método tiene la virtud de ser de fácil interpretación, comunicación y transparente.
Presentamos el árbol para los apartamentos y restringimos a los que tienen un precio del metro cuadrado menor a USD 4000.
Este método nos particiona el mapa de la ciudad y nos define zonas agrupadas por el precio por metro cuadrado. Fácilmente se puede asociar los cortes con avenidas y zonas conocidas de la ciudad. Los montos indicados en las áreas del mapa refieren a una predicción del modelo CART para una observación dentro del área. Esta predicción es simplemente el promedio de los precios en esa área.
Si el objetivo es predecir, notar que en la mayoría de los casos, CART tiene peor performance predictiva que un modelo lineal y una serie de falencias asociadas a la estabilidad de las predicciones (Genuer and Poggi (2017)). Esto se puede resolver en gran medida con la introducción del métodos agregativos como el de bosques aleatorios. Este tema como otros pueden profundizarse en tres textos de referencia: James et al. (2013), Friedman, Hastie, and Tibshirani (2001) y Genuer and Poggi (2017) y a los artículos originales de Leo Breiman (Breiman et al. (1984) y Breiman (2001)).
Si hay interés en trabajar en estos puntos, pueden contactarme para facilitarles algunos códigos y bibliografía al respecto.
Breiman, Leo. 2001. “Random Forests.” Machine Learning 45 (1): 5–32.
Breiman, Leo, Jerome H. Friedman, Richard A. Olshen, and Charles J. Stone. 1984. Classification and Regression Trees. Routledge.
Friedman, Jerome, Trevor Hastie, and Robert Tibshirani. 2001. The Elements of Statistical Learning. Vol. 1. Springer series in statistics New York.
Genuer, Robin, and Jean-Michel Poggi. 2017. “Arbres Cart et forêts Aléatoires, Importance et Sélection de Variables.” arXiv Preprint arXiv:1610.08203, January.
James, G, D Witten, T Hastie, and R Tibshirani. 2013. An Introduction to Statistical Learning. Vol. 1. New York: Springer.
R Core Team. 2020. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing.
RStudio Team. 2020. RStudio: Integrated Development Environment for R. Boston, MA: RStudio, Inc.